import Link from "next/link"; import { notFound } from "next/navigation"; import { ArrowLeft } from "lucide-react"; import { requireAdmin } from "@/lib/session"; import { getUserDetail } from "@/lib/queries/admin"; import { formatDate, formatNumber, truncate } from "@/lib/format"; import { PageHeader } from "@/components/ui/page-header"; import { Badge, StatusBadge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Stat, StatGrid } from "@/components/ui/stat"; import { Table, TableBody, TableCell, TableEmpty, TableHead, TableHeader, TableRow } from "@/components/ui/table"; import { Alert } from "@/components/ui/alert"; import { CopyButton } from "@/components/ui/copy-button"; import { DateCell, KV, Mono, Panel, PlanBadge } from "@/components/admin/primitives"; import { UserActions } from "@/components/admin/user-actions"; export const dynamic = "force-dynamic"; export default async function AdminUserDetail({ params }: { params: Promise<{ id: string }> }) { const admin = await requireAdmin(); const { id } = await params; const d = await getUserDetail(id); if (!d) notFound(); const { user } = d; return ( <>